Python程序Run可以正常运行Debug运行报错(已解决) | 您所在的位置:网站首页 › 第三方python debug › Python程序Run可以正常运行Debug运行报错(已解决) |
1、问题描述
今天在PyCharm调试Python程序的时候,发现直接run可以正常运行,debug运行报错。 Debug运行报错内容: Traceback (most recent call last): File “D:\Program Files\Python310\lib\site-packages\numpy\core\getlimits.py”, line 687, in __init__ Self.dtype = numeric.dtype(int_type) TypeError: ‘NoneType’ object is not callable ......报错方法:drop_duplicates() 于是写了一个简单的测试程序: import pandas as pd df = pd.DataFrame({'name': ['a', 'b', 'b'], 'age': [18, 20, 19]}) print(df) df.drop_duplicates(subset=['name'], keep='first', inplace=True) print(df)1) 直接run运行该程序,程序正常输出,没有问题 2) debug运行该程序,发现报错内容与上述描述一致 通过查找资料,排查原因,尝试了网上各位大佬的很多建议: 1) 去掉调用函数后面(),注意!这是一个坑,这样可以不让程序报错,原因是这个函数就不执行了,当然不报错了!函数调用使用:函数名();不加()为函数对象 2) 将df.drop_duplicates(subset=[‘name’], keep=‘first’, inplace=‘True’)换成其他写法: 写法1:df = df.drop_duplicates(‘name’):未解决… 写法2:在该语句上面添加: pd.set_option('display.max_columns', None) pd.set_option('display.max_rows', None)未解决… 写法3:考虑name列是否存在空值,在该语句上面添加: df.fillna(0, inplace=True)未解决… 方法n:…… 未解决… 3) 清除缓存:File->Invalidate Caches / Restart->Invalidate and Restart,并重启PyCharm,未解决…
最终摸着石头过河,尝试了以下方法,发现可以完美解决: 1) 关闭PyCharm(关闭项目),在本地项目路径下找到所有.idea文件删除 2) 打开PyCharm(打开项目),继续执行清除缓存:File->Invalidate Caches / Restart->Invalidate and Restart,并重启PyCharm 3) 打开终端(Windows PowerShell):依次执行如下命令(关键所在,1)、2)步可省略): pip install --upgrade pip pip install --upgrade numpy pip install --upgrade pandas更新pip、numpy、pandas到最新版本 至此,再次debug运行上述程序,不再报错。完美解决!差点重装PyCharm重新克隆项目重新配置啦! |
CopyRight 2018-2019 实验室设备网 版权所有 |